import type { Recordable } from '@vben/types'

import { requestClient } from '#/api/request'

/**
 * 获取角色列表数据
 */
async function getRoleList(params: Recordable<any>) {
  return requestClient.get<Array<any>>('admin/auth.group/index', params)
}

/**
 * 创建角色
 * @param data 角色数据
 */
async function createRole(data: Omit<any, 'id'>) {
  return requestClient.post('/system/role', data)
}



/**
 * 删除角色
 * @param id 角色 ID
 */
async function deleteRole(data: any) {
  return requestClient.delete('admin/auth.group/del', data)
}

/**
 * 获取权限树状图
 */
async function getMenuRules() {
  return requestClient.get('admin/auth.menu/index')
}

/**
 * 获取角色详细
 * @param id 角色 ID
 */
async function groupEdit(data: any) {
  return requestClient.get('admin/auth.group/edit', data)
}

/**
 * 角色更新
 *
 */
async function groupUpdata(data: any) {
  return requestClient.post('admin/auth.group/edit', data, { responseReturn: 'raw' })
}
/**
 * 角色添加
 *
 */
async function groupAdd(data: any) {
  return requestClient.post('admin/auth.group/add', data, { responseReturn: 'raw' })
}

export { createRole, deleteRole, getMenuRules, getRoleList, groupAdd, groupEdit,groupUpdata }
